package repositorios;

import java.util.ArrayList;
import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;
import util.HibernateUtil;
import entidades.Livro;
import entidades.Usuario;

public class RepLivro implements IRepLivro {

	private Session session;

	public RepLivro() {
		this.session = HibernateUtil.getSession();
	}

	public void inserir(Livro o) {
		session.beginTransaction();
		session.save(o);
		session.beginTransaction().commit();
	}

	public void atualizar(Livro o) {
		Livro l = (Livro) session.get(Livro.class, o.getIsbn());
		l.setTitulo(o.getTitulo());
		l.setEditora(o.getEditora());
		l.setIdioma(o.getIdioma());
		l.setNumPaginas(o.getNumPaginas());

		session.beginTransaction();
		session.update(l);
		session.beginTransaction().commit();
		session.close();

	}

	public void excluir(Livro o) {
		Livro l = (Livro) session.get(Livro.class, o.getIsbn());
		session.beginTransaction();
		session.delete(l);
		session.beginTransaction().commit();
		session.close();
	}

	public Livro consultar(String isbn) {
		Livro l = (Livro) session.get(Livro.class, isbn);
		return null;
	}

	public List<Livro> consultarTodos() {
		List<Livro> lista = new ArrayList<Livro>();
		session.beginTransaction();
		Query query = session.createQuery("from Livro");
		lista = query.list();
		session.close();
		return lista;
	}

}
